package gatperdut.chato.core.messaging.replies;

import gatperdut.chato.core.ChatoServer;
import gatperdut.chato.core.keywords.KeywordsController;
import gatperdut.chato.core.messaging.grammar.messinfo.CreateItemTemplateInfo;
import gatperdut.chato.core.messaging.packagers.ItemTemplatesPackager.ItemTemplateJSONAttr;
import gatperdut.chato.model.Chato.Item.ItemTemplate;

import org.json.simple.JSONArray;

public class CreateItemTemplateReply extends Reply {

    public CreateItemTemplateReply( CreateItemTemplateInfo createItemTemplateInfo, ChatoServer chatoServer ) {
        super( createItemTemplateInfo, chatoServer );
    }

    @Override
    public String send() {
        String shortDesc = (String) getMessageInfo().getItemTemplateData().get( ItemTemplateJSONAttr.SHORT_DESC.getName() );
        String longDesc = (String) getMessageInfo().getItemTemplateData().get( ItemTemplateJSONAttr.LONG_DESC.getName() );
        String fullDesc = (String) getMessageInfo().getItemTemplateData().get( ItemTemplateJSONAttr.FULL_DESC.getName() );
        JSONArray keywords = (JSONArray) getMessageInfo().getItemTemplateData().get( ItemTemplateJSONAttr.KEYWORDS.getName() );
        Integer w = Integer.parseInt( (String) getMessageInfo().getItemTemplateData().get( ItemTemplateJSONAttr.W.getName() ) );

        ItemTemplate itemTemplate = getChatoServer().getItemTemplateHandler().addItemTemplate( shortDesc, longDesc, fullDesc, KeywordsController.toStringsList( keywords ), w );

        return getItemTemplatesPackager().packageOne( itemTemplate ).toJSONString();

    }

    @Override
    public CreateItemTemplateInfo getMessageInfo() {
        return (CreateItemTemplateInfo) super.getMessageInfo();
    }

}
